A wide variety of techniques are known which make it possible to prevent mistakes made by a user from upsetting the contents of computer memory areas not allocated to him. In effect, if it is to be guaranteed that processing will be properly carried out, it is necessary that deliberate or inadvertent errors made by any user should not destroy the information in the processing system or in the programs or data belonging to other users. Thus, there is a prior art arrangement wherein a protective bit is inserted in a store word and access to a given memory block (for read-in for example) is possible only if the protective bit is a zero. In another prior art technique, every block in the memory has a protective lock associated with it. In another technique, two limit registers are respectively loaded with the first and last addresses in a program when a program is initiailly being put into operation; all memory references of the program must be contained between these two addresses. Also, memory pagination techniques exist in which protection is automatically provided between independent programs by converting a virtual address into an actual address. When known pages are shared among a number of users, the key protection system is often used.
There are generally two modes in which the computer can operate, namely (1) in a master or supervisory mode in which any instructions are permitted and the whole memory is addressable; and (2) a slave or user-program mode in which privileged instructions, i.e., input/output instructions, interruptions, interrupt-off, interrupt-on, and memory protection monitoring, are forbidden and memory protection is effective. In the slave mode, the computer is under the control of a user program, and at each interruption it reverts to the master mode.
There is also a technique for protecting data wherein concentric rings group together sets of procedures when multi-programming techniques are used. In this ring concept, the user of the lowest numbered ring has direct access to a higher numbered ring, but users of higher numbered rings can only gain access to the data in lower numbered rings in a specific, indirect manner. The development of this technique is described in an article entitled "Access Control of the Multics Virtual Memory," published by Honeywell Information Systems Inc., in Multics study no. AG96, Rev. O, June, 1972.